package com.justnow.bitoperate;


import java.util.HashMap;
import java.util.Map;

/**
 * @author justnow
 * Created on 2020-10-05
 * Description
 * 只出现一次的数字Ⅱ
 * 给定一个非空整数数组，除了某个元素只出现一次以外，
 * 其余每个元素均出现了三次。找出那个只出现了一次的元素。
 */
public class Leetcode137 {

    /**
     * 方法一：hashMap的方法
     * @param nums
     * @return
     */
    public int singleNumber(int[] nums) {
        Map<Integer, Integer> map = new HashMap<>();
        for (int n : nums) {
            if (map.containsKey(n)) {
                map.put(n, map.get(n) + 1);
            } else {
                map.put(n, 1);
            }
        }
        int res = 0;
        for (Integer integer : map.keySet()) {
            if (map.get(integer) == 1) {
                res = integer;
                break;
            }
        }
        return res;
    }


}
